#ifndef REGISTROCUBETA_H_
#define REGISTROCUBETA_H_

#include <string>
#include <vector>
#include <sstream>
#include "../Entidades/IRegistroIndice.h"
using namespace std;
using namespace Indices;

namespace Hash {

class RegistroCubeta: public IRegistroIndice {

private:
	string clave;
	vector<unsigned int>* offsets;

public:
	RegistroCubeta();
	RegistroCubeta(string clave, unsigned int offset);
	//constructor de copia
	RegistroCubeta(const RegistroCubeta& registroCubeta);

	bool insertar(unsigned int offset);
	int buscar(unsigned int offset);
	bool eliminar(unsigned int offset);

	int getBytesOcupados();
	virtual string getClave();
	void setClave(string clave);
	virtual vector<unsigned int>* getOffsets();
	void setOffsets(vector<unsigned int>* offsets);

	//para constructor de copia
	string getClavePorCopia() const;
	vector<unsigned int>* getOffsetsPorCopia() const;

	virtual ~RegistroCubeta();

};
} //Fin namespace Hash

#endif /* REGISTROCUBETA_H_ */
